compileflow是什么
compileflow是一个非常轻量、高性能、可集成、可扩展的流程引擎。
compileflow Process引擎是淘宝工作流TBBPM引擎之一,是专注于纯内存执行,无状态的流程引擎,通过将流程文件转换生成java代码编译执行,简洁高效。当前是阿里业务中台交易等多个核心系统的流程引擎。
compileflow能让开发人员通过流程编辑器设计自己的业务流程,将复杂的业务逻辑可视化,为业务设计人员与开发工程师架起了一座桥梁。
设计意图
- 希望为业务开发提供端至端,从设计至实现的业务流程解决方案。
- 提供多种流程引擎,实现从战略至商业能力,商业能力至业务流程,业务流程至系统,并最终实现业务的可视化全局架构。
- 设计高效的执行引擎,实现对服务的快速组合或扩展,提升idea(构思)至value(价值)的研发响应与交互速度。
特色
- 高性能:通过将流程文件转换生成java代码编译执行
(爽啊,Activiti可没这功能)
,简洁高效。 - 丰富的应用场景:在阿里巴巴中台解决方案中广泛使用,支撑了导购、交易、履约、资金等多个业务场景。
- 可集成:轻量、简洁的设计使得可以极其方便地集成到各个解决方案和业务场景中。
- 完善的插件支持:流程设计目前有IntelliJ IDEA、Eclipse插件支持,可以在流程设计中实时动态生成java代码并预览,所见即所得。
- 支持流程设计图导出svg文件和单元测试代码。
IntelliJ IDEA安装插件
注意: compileflow仅支持JDK 1.8及以上版本。
以IntelliJ IDEA 2019版本为例,下载最新包到本地
使用本地安装的方式安装,注意安装整个zip不用手动解压
重启IntelliJ IDEA就会生效
使用教程
如果Maven项目,需引入依赖
<dependency> |
简单示例
新建BPM文件
可在resources目录下创建,选中resources目录右键点击【Create New Bpm
File】。例如我这边创建在resources的bpm目录下。输入文件名,例如:我这里的hello
插件默认会生成了hello.bpm文件,是一个简单的开平方根demo流程,如下图
可视化编辑
你可以选择下方【process-flow】进行可视化编辑,从左侧拖入节点到画布,或者选中节点拖动。
双击空白处可编辑全局参数
双击节点可以编辑节点参数(拖拽可调整节点位置)
Java代码预览
- 可以选择下方【java code】进行Java代码预览。
创建测试代码
选中文件右键,点击【Create New Bpm JUnit Test】可自动生成测试类
到指定路径查看生成的测试类(修改入参数运行整个demo就完成了)